<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    
    <title>numpy.testing.assert_array_almost_equal &mdash; NumPy v1.18 Manual</title>
    
    <link rel="stylesheet" type="text/css" href="../../_static/css/spc-bootstrap.css">
    <link rel="stylesheet" type="text/css" href="../../_static/css/spc-extend.css">
    <link rel="stylesheet" href="../../_static/scipy.css" type="text/css" >
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" >
    <link rel="stylesheet" href="../../_static/graphviz.css" type="text/css" >
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../',
        VERSION:     '1.18.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  false
      };
    </script>
    <script type="text/javascript" src="../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../_static/doctools.js"></script>
    <script type="text/javascript" src="../../_static/language_data.js"></script>
    <script type="text/javascript" src="../../_static/js/copybutton.js"></script>
    <link rel="author" title="About these documents" href="../../about.html" >
    <link rel="index" title="Index" href="../../genindex.html" >
    <link rel="search" title="Search" href="../../search.html" >
    <link rel="top" title="NumPy v1.18 Manual" href="../../index.html" >
    <link rel="up" title="Test Support (numpy.testing)" href="../routines.testing.html" >
    <link rel="next" title="numpy.testing.assert_allclose" href="numpy.testing.assert_allclose.html" >
    <link rel="prev" title="numpy.testing.assert_approx_equal" href="numpy.testing.assert_approx_equal.html" > 
  </head>
  <body>
<div class="container">
  <div class="top-scipy-org-logo-header" style="background-color: #a2bae8;">
    <a href="../../index.html">
      <img border=0 alt="NumPy" src="../../_static/numpy_logo.png"></a>
    </div>
  </div>
</div>


    <div class="container">
      <div class="main">
        
	<div class="row-fluid">
	  <div class="span12">
	    <div class="spc-navbar">
              
    <ul class="nav nav-pills pull-left">
        <li class="active"><a href="https://numpy.org/">NumPy.org</a></li>
        <li class="active"><a href="https://numpy.org/doc">Docs</a></li>
        
        <li class="active"><a href="../../index.html">NumPy v1.18 Manual</a></li>
        

          <li class="active"><a href="../index.html" >NumPy Reference</a></li>
          <li class="active"><a href="../routines.html" >Routines</a></li>
          <li class="active"><a href="../routines.testing.html" accesskey="U">Test Support (<code class="xref py py-mod docutils literal notranslate"><span class="pre">numpy.testing</span></code>)</a></li> 
    </ul>
              
              
    <ul class="nav nav-pills pull-right">
      <li class="active">
        <a href="../../genindex.html" title="General Index"
           accesskey="I">index</a>
      </li>
      <li class="active">
        <a href="numpy.testing.assert_allclose.html" title="numpy.testing.assert_allclose"
           accesskey="N">next</a>
      </li>
      <li class="active">
        <a href="numpy.testing.assert_approx_equal.html" title="numpy.testing.assert_approx_equal"
           accesskey="P">previous</a>
      </li>
    </ul>
              
	    </div>
	  </div>
	</div>
        

	<div class="row-fluid">
      <div class="spc-rightsidebar span3">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="numpy.testing.assert_approx_equal.html"
                        title="previous chapter">numpy.testing.assert_approx_equal</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="numpy.testing.assert_allclose.html"
                        title="next chapter">numpy.testing.assert_allclose</a></p>
<div id="searchbox" style="display: none" role="search">
  <h4>Quick search</h4>
    <div>
    <form class="search" action="../../search.html" method="get">
      <input type="text" style="width: inherit;" name="q" />
      <input type="submit" value="search" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
          <div class="span9">
            
        <div class="bodywrapper">
          <div class="body" id="spc-section-body">
            
  <div class="section" id="numpy-testing-assert-array-almost-equal">
<h1>numpy.testing.assert_array_almost_equal<a class="headerlink" href="#numpy-testing-assert-array-almost-equal" title="Permalink to this headline">¶</a></h1>
<dl class="function">
<dt id="numpy.testing.assert_array_almost_equal">
<code class="sig-prename descclassname">numpy.testing.</code><code class="sig-name descname">assert_array_almost_equal</code><span class="sig-paren">(</span><em class="sig-param">x</em>, <em class="sig-param">y</em>, <em class="sig-param">decimal=6</em>, <em class="sig-param">err_msg=''</em>, <em class="sig-param">verbose=True</em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/numpy/numpy/blob/v1.18.1/numpy/testing/_private/utils.py#L939-L1047"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#numpy.testing.assert_array_almost_equal" title="Permalink to this definition">¶</a></dt>
<dd><p>Raises an AssertionError if two objects are not equal up to desired
precision.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>It is recommended to use one of <a class="reference internal" href="numpy.testing.assert_allclose.html#numpy.testing.assert_allclose" title="numpy.testing.assert_allclose"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_allclose</span></code></a>,
<a class="reference internal" href="numpy.testing.assert_array_almost_equal_nulp.html#numpy.testing.assert_array_almost_equal_nulp" title="numpy.testing.assert_array_almost_equal_nulp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_array_almost_equal_nulp</span></code></a> or <a class="reference internal" href="numpy.testing.assert_array_max_ulp.html#numpy.testing.assert_array_max_ulp" title="numpy.testing.assert_array_max_ulp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_array_max_ulp</span></code></a>
instead of this function for more consistent floating point
comparisons.</p>
</div>
<p>The test verifies identical shapes and that the elements of <code class="docutils literal notranslate"><span class="pre">actual</span></code> and
<code class="docutils literal notranslate"><span class="pre">desired</span></code> satisfy.</p>
<blockquote>
<div><p><code class="docutils literal notranslate"><span class="pre">abs(desired-actual)</span> <span class="pre">&lt;</span> <span class="pre">1.5</span> <span class="pre">*</span> <span class="pre">10**(-decimal)</span></code></p>
</div></blockquote>
<p>That is a looser test than originally documented, but agrees with what the
actual implementation did up to rounding vagaries. An exception is raised
at shape mismatch or conflicting values. In contrast to the standard usage
in numpy, NaNs are compared like numbers, no assertion is raised if both
objects have NaNs in the same positions.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>x</strong><span class="classifier">array_like</span></dt><dd><p>The actual object to check.</p>
</dd>
<dt><strong>y</strong><span class="classifier">array_like</span></dt><dd><p>The desired, expected object.</p>
</dd>
<dt><strong>decimal</strong><span class="classifier">int, optional</span></dt><dd><p>Desired precision, default is 6.</p>
</dd>
<dt><strong>err_msg</strong><span class="classifier">str, optional</span></dt><dd><p>The error message to be printed in case of failure.</p>
</dd>
<dt><strong>verbose</strong><span class="classifier">bool, optional</span></dt><dd><p>If True, the conflicting values are appended to the error message.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><dl class="simple">
<dt><strong>AssertionError</strong></dt><dd><p>If actual and desired are not equal up to specified precision.</p>
</dd>
</dl>
</dd>
</dl>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<dl class="simple">
<dt><a class="reference internal" href="numpy.testing.assert_allclose.html#numpy.testing.assert_allclose" title="numpy.testing.assert_allclose"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_allclose</span></code></a></dt><dd><p>Compare two array_like objects for equality with desired relative and/or absolute precision.</p>
</dd>
</dl>
<p><a class="reference internal" href="numpy.testing.assert_array_almost_equal_nulp.html#numpy.testing.assert_array_almost_equal_nulp" title="numpy.testing.assert_array_almost_equal_nulp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_array_almost_equal_nulp</span></code></a>, <a class="reference internal" href="numpy.testing.assert_array_max_ulp.html#numpy.testing.assert_array_max_ulp" title="numpy.testing.assert_array_max_ulp"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_array_max_ulp</span></code></a>, <a class="reference internal" href="numpy.testing.assert_equal.html#numpy.testing.assert_equal" title="numpy.testing.assert_equal"><code class="xref py py-obj docutils literal notranslate"><span class="pre">assert_equal</span></code></a></p>
</div>
<p class="rubric">Examples</p>
<p>the first assert does not raise an exception</p>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">np</span><span class="o">.</span><span class="n">testing</span><span class="o">.</span><span class="n">assert_array_almost_equal</span><span class="p">([</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.333</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">],</span>
<span class="gp">... </span>                                     <span class="p">[</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.333</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">])</span>
</pre></div>
</div>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">np</span><span class="o">.</span><span class="n">testing</span><span class="o">.</span><span class="n">assert_array_almost_equal</span><span class="p">([</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.33333</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">],</span>
<span class="gp">... </span>                                     <span class="p">[</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.33339</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">],</span> <span class="n">decimal</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
<span class="gt">Traceback (most recent call last):</span>
    <span class="o">...</span>
<span class="gr">AssertionError</span>:
<span class="go">Arrays are not almost equal to 5 decimals</span>
<span class="go">Mismatch: 33.3%</span>
<span class="go">Max absolute difference: 6.e-05</span>
<span class="go">Max relative difference: 2.57136612e-05</span>
<span class="go"> x: array([1.     , 2.33333,     nan])</span>
<span class="go"> y: array([1.     , 2.33339,     nan])</span>
</pre></div>
</div>
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">np</span><span class="o">.</span><span class="n">testing</span><span class="o">.</span><span class="n">assert_array_almost_equal</span><span class="p">([</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.33333</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">],</span>
<span class="gp">... </span>                                     <span class="p">[</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">2.33333</span><span class="p">,</span> <span class="mi">5</span><span class="p">],</span> <span class="n">decimal</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
<span class="gt">Traceback (most recent call last):</span>
    <span class="o">...</span>
<span class="gr">AssertionError</span>:
<span class="go">Arrays are not almost equal to 5 decimals</span>
<span class="go">x and y nan location mismatch:</span>
<span class="go"> x: array([1.     , 2.33333,     nan])</span>
<span class="go"> y: array([1.     , 2.33333, 5.     ])</span>
</pre></div>
</div>
</dd></dl>

</div>


          </div>
        </div>
          </div>
        </div>
      </div>
    </div>

    <div class="container container-navbar-bottom">
      <div class="spc-navbar">
        
      </div>
    </div>
    <div class="container">
    <div class="footer">
    <div class="row-fluid">
    <ul class="inline pull-left">
      <li>
        &copy; Copyright 2008-2019, The SciPy community.
      </li>
      <li>
      Last updated on Feb 20, 2020.
      </li>
      <li>
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 2.4.2.
      </li>
    </ul>
    </div>
    </div>
    </div>
  </body>
</html>